// 题目描述：
// 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

// 单词 是指仅由字母组成、不包含任何空格字符的最大
// 子字符串
// 。

 

// 示例 1：

// 输入：s = "Hello World"
// 输出：5
// 解释：最后一个单词是“World”，长度为 5。
// 示例 2：

// 输入：s = "   fly me   to   the moon  "
// 输出：4
// 解释：最后一个单词是“moon”，长度为 4。
// 示例 3：

// 输入：s = "luffy is still joyboy"
// 输出：6
// 解释：最后一个单词是长度为 6 的“joyboy”。

// 自己的答案：
/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function(s) {
    let arr = s.trim().split(' '); // 还可以用 arr.slice(-1)[0] arr.pop()
    return arr[arr.length - 1].length;
};

// Gpt答案：
function lengthOfLastWord(s) {
    // 去除字符串两端的空格
    s = s.trim();
    
    // 从字符串末尾开始寻找最后一个单词的长度
    let end = s.length - 1;
    while (end >= 0 && s[end] !== ' ') {
        end--;
    }
    
    // 返回最后一个单词的长度
    return s.length - 1 - end;
}

// 示例测试
console.log(lengthOfLastWord("Hello World")); // 输出: 5
console.log(lengthOfLastWord("   fly me   to   the moon  ")); // 输出: 4
console.log(lengthOfLastWord("luffy is still joyboy")); // 输出: 6

// 官方题解：
var lengthOfLastWord = function(s) {
    let index = s.length - 1;
    while (s[index] === ' ') {
        index--;
    }
    let wordLength = 0;
    while (index >= 0 && s[index] !== ' ') {
        wordLength++;
        index--;
    }
    return wordLength;
};